#ifndef __UTIL_TOOLS_HH__
#define __UTIL_TOOLS_HH__

#include <glm/glm.hpp>
#include <glm/gtc/matrix_transform.hpp>

namespace util
{
inline int64_t ROUND(float n)
{
    int64_t val = static_cast<int64_t>(n);
    if (n < 0 && n != val)
        return val - 1;
    else 
        return val;
}

inline int CEILING(float n)
{
    return static_cast<int>(n) + 1;
}

inline glm::vec3 ROUND(const glm::vec3& pos)
{
    return glm::vec3(ROUND(pos.x), ROUND(pos.y), ROUND(pos.z));
}

bool isBlockClosed(const glm::vec3& block1, const glm::vec3 block2);

void printPosition(const glm::vec3& position);


}

#endif